import request from '@/router/axios'

// 根据数据源id和表名来构建表的信息，包括表描述，字段、字段描述、主键、字段类型等
export function getDataTableInfo(query) {
  return request({
    url: '/integration/api/metadata/buildTableInfo',
    method: 'get',
    params: query
  })
}

// 根据数据源id和表名来构建表的信息，包括表描述，字段、字段描述、主键、字段类型、长度、精度等
export function buildTableAllInfos(query) {
  return request({
    url: '/integration/api/metadata/buildTableAllInfos',
    method: 'get',
    params: query
  })
}

//根据数据源id,dbname获取mongodb的集合
export function collectionNames(query) {
  return request({
    url: '/integration/api/metadata/collectionNames',
    method: 'get',
    params: query
  })
}

//执行建表语句
export function executeGenSql(data) {
  return request({
    url: '/integration/api/metadata/executeGenSql',
    method: 'post',
    data: data
  })
}

//根据数据源id和表名生成目标库建表语句
export function genTargetTable(query) {
  return request({
    url: '/integration/api/metadata/genTargetTable',
    method: 'get',
    params: query
  })
}

//根据数据源id、数据库schema、表名获取所有字段
export function getColumns(query) {
  return request({
    url: '/integration/api/metadata/getColumns',
    method: 'get',
    params: query
  })
}

//根据数据源id和sql语句获取所有字段
export function getColumnsByQuerySql(query) {
  return request({
    url: '/integration/api/metadata/getColumnsByQuerySql',
    method: 'get',
    params: query
  })
}

// 根据数据源id获取数据库 schema
export function getDataSchema(query) {
  return request({
    url: '/integration/api/metadata/getDBSchema',
    method: 'get',
    params: query
  })
}

//根据数据源id获取mongo库名
export function getMongoDBs(query) {
  return request({
    url: '/integration/api/metadata/getDBs',
    method: 'get',
    params: query
  })
}


// 预览数据
export function previewData(query) {
  return request({
    url: '/integration/api/metadata/previewData',
    method: 'get',
    params: query
  })
}

// 根据数据源id获取可用表名和标注释
export function getDataSource(query) {
  return request({
    url: '/integration/api/metadata/getTables',
    method: 'get',
    params: query
  })
}

//生成目录表ddl
// export function genTargetTable(query) {
//   return request({
//     url: '/integration/api/metadata/genTargetTable',
//     method: 'get',
//     params: query
//   })
// }
